//router.js
import Util from "../../../utils/utils";
Page({
  data:{
    initUser:true,
    openLogin:false,
    userInfo:{},
  },
  /**
   * 页面载入完成
   */
  initPage: function(options){
    let self  = this;
    let app   = getApp();
    /**
     * 跳转类型，1：原生地址，2：打开网页
     * @type {number}
     */
    let type  = options.hasOwnProperty('type') ? Util.fixInt(options['type']) : 1;
    let url   = options.hasOwnProperty('url') ? decodeURIComponent(options['url']) : '';
    let title = options.hasOwnProperty('title') ? decodeURIComponent(options['title']) : '';
    let auth  = options.hasOwnProperty('auth') ? Util.fixInt(options['auth']) : 0;
    let appId = options.hasOwnProperty('appId') ? options['appId'] : '';
    let gameType = options.hasOwnProperty('type') ? options['type'] : '';
    let data  = {};
    let typeMap = {
      1:'page',
      2:'url',
      3:'tabar'
    };
    // url = 'http://192.168.1.44:8080/walkHome.html';
    /**
     * appId  打开小程序
     * gameType  'OpenGame'
     */

    if(appId){
      // appId = 'wx13e41a437b8a1d2e';
      // url = '';
      wx.navigateToMiniProgram({
        appId: appId,
        path: url,
        extraData: {
          //需要传递给目标小程序的数据
          //foo: 'bar'
        },
        success(res) {
          // 打开成功
          Util.log('跳转成功');
          // wx.navigateBack();
          //返回上一h5页无法再次打开
          wx.switchTab({
            url:'/pages/task/index'
          })
        },
        fail(err){
          // 打开失败
          wx.navigateBack();
          Util.log('跳转失败',err);
        }
      });

      return
    }
    if(url === ''){
      //URL不存在时直接进入首页
      wx.switchTab({
        url:'/pages/home/index',
      });
    }
    if(url.indexOf('http') > -1){
      type = 2;
    }
    /**
     * 如果要求登录的处理
     */
    data = {
      type:typeMap[type],
      page:url,
      title:title
    };
    if(auth === 1){
      self.getUserInfo(function (userInfo) {
        let token = Util.token;
        if(type === 2){
          if(data['page'].indexOf('token') === -1){
            if(data['page'].indexOf('?') > -1){
              data['page'] += '&token=' + token;
            }else{
              data['page'] += '?token=' + token;
            }
          }
        }
        Util.toPage({
          currentTarget:{
            dataset:data
          }
        },false,true);
      },function () {
        self.setData({
          initUser:false,
          openLogin:true
        });
      });
    }else{
      Util.toPage({
        currentTarget:{
          dataset:data
        }
      },false,true);
    }
  }
});
